#ifndef MAINWINDOW_H
#define MAINWINDOW_H

#include <QMainWindow>

class QProgressDialog;

namespace Ui {
class MainWindow;
}

class MainWindow : public QMainWindow
{
    Q_OBJECT
    
public:
    explicit MainWindow(QWidget *parent = 0);
    ~MainWindow();

    void loadImage(const QString &image_path);

public slots:
    void alertError(QString message);
    void startProcess();
    
private slots:
    void on_actionOpen_triggered();
    void on_actionSaveTemplate_triggered();
    void on_actionLoadTemplate_triggered();
    void on_actionOutputTo_triggered();
    void on_actionTerminatedTask_triggered();
    void on_actionLockToolBar_triggered(bool checked);
    void on_actionFullScreen_triggered(bool checked);
    void on_actionHelp_triggered();
    void on_actionAboutUs_triggered();

    void setToolButtonStyle(QAction *action);
    void setDisplayLanguage(QAction *action);

private:
    Ui::MainWindow *ui;

    QProgressDialog *progress_dialog;
    QList<QByteArray> terminated_task;
};

#endif // MAINWINDOW_H
